package cn.iocoder.yudao.module.system.enums.partner;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * 时间范围类型的枚举
 *
 * @author owen
 */
@AllArgsConstructor
@Getter
public enum PartnerTypeEnum implements IntArrayValuable {

    INITIATOR(1, "LP发起人"), // 用户可在首页、每日领劵直接领取
    PARTNER(2, "LP合伙人"), // 后台指定会员赠送优惠劵
    REFER(3, "推荐人"), // 后台指定会员赠送优惠劵
    ;

    public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(PartnerTypeEnum::getType).toArray();

    public static String getNameByType(Integer type) {
        PartnerTypeEnum typeEnum = CollUtil.findOne(CollUtil.newArrayList(PartnerTypeEnum.values()),
                item -> ObjUtil.equal(item.getType(), type));
        return typeEnum == null ? null : typeEnum.getName();
    }
    /**
     * 值
     */
    private final Integer type;
    /**
     * 名字
     */
    private final String name;

    @Override
    public int[] array() {
        return ARRAYS;
    }

}
